066efc1c8eddc54c623e84beef3de11938e15c78,groovy-language-server/src/test/java/com/palantir/ls/server/groovy/GroovyTreeParserTest.java,GroovyTreeParserTest,testReferences_innerClassOneLine,#,394
Before Change
@Test
public void testReferences_innerClassOneLine() throws IOException {
File newFolder1 = root.newFolder();
// edge case on one line
File innerClass = addFileToFolder(newFolder1, "AandB.groovy",
"public class A {public static class B {}\n"
+ "A a\n"
+ "B b\n"
+ "}\n");
parser.parseAllSymbols();
// Identify type A correctly
Set<SymbolInformation> typeAExpectedResult = Sets.newHashSet(
createSymbolInformation("a", SymbolKind.Field,
createLocation(innerClass.toPath(), Ranges.createRange(1, 0, 1, 3)),
Optional.of("A")),
createSymbolInformation("getA", SymbolKind.Method,
createLocation(innerClass.toPath(), Ranges.UNDEFINED_RANGE),
Optional.of("A")),
createSymbolInformation("value", SymbolKind.Variable,
createLocation(innerClass.toPath(), Ranges.UNDEFINED_RANGE),
Optional.of("setA")));
assertEquals(typeAExpectedResult, parser.getTypeReferences().get("A"));
assertEquals(typeAExpectedResult,
parser.findReferences(createReferenceParams(innerClass.toURI(), 0, 6, false)));
// Identify type B correctly
Set<SymbolInformation> typeBExpectedResult = Sets.newHashSet(
createSymbolInformation("b", SymbolKind.Field,
createLocation(innerClass.toPath(), Ranges.createRange(2, 0, 2, 3)),
Optional.of("A")),
createSymbolInformation("getB", SymbolKind.Method,
createLocation(innerClass.toPath(), Ranges.UNDEFINED_RANGE),
Optional.of("A")),
createSymbolInformation("value", SymbolKind.Variable,
createLocation(innerClass.toPath(), Ranges.UNDEFINED_RANGE),
Optional.of("setB")));
assertEquals(typeBExpectedResult, parser.getTypeReferences().get("A$B"));
assertEquals(typeBExpectedResult,
parser.findReferences(createReferenceParams(innerClass.toURI(), 0, 17, false)));
After Change
// Identify type A correctly
Set<Location> typeAExpectedResult = Sets.newHashSet(
createLocation(innerClass.toPath(), Ranges.createRange(1, 0, 1, 1)));
assertEquals(typeAExpectedResult,
parser.findReferences(createReferenceParams(innerClass.toURI(), 0, 6, false)));
// Identify type B correctly
Set<Location> typeBExpectedResult = Sets.newHashSet(
createLocation(innerClass.toPath(), Ranges.createRange(2, 0, 2, 1)));
assertEquals(typeBExpectedResult,
parser.findReferences(createReferenceParams(innerClass.toURI(), 0, 17, false)));
}